package com.indusfo.spc.pojo;

import com.indusfo.spc.common.pojo.BasePojo;

import java.util.Date;

/**
 * @author: louk
 * @param:
 * @Return:
 * @Description: 生产任务单
 * @date: 2019/10/22 9:21
 *
 */

public class Plan extends BasePojo {

    private static final long serialVersionUID = 348467913835482533L;
    //生产任务单ID
    private Integer lProductionPlanId;

    //制单时间
    private String dCreateTime;
    //制单开始时间
    private String dCreateStartTime;
    //制单结束时间
    private String dCreateEndTime;

    //单号
    private String lPlan;

    //开始时间
    private String dStartTime;

    //结束时间
    private String dOverTime;

    //产品型号
    private Integer lProduct;
    //生产线
    private Integer lProductionLineId;
    //计划数量
    private Integer lPlanNumber;
    //单位
    private Integer lUnit;
    //负责人
    private Integer lUserId;

    private String userName;

    public Plan(String dStartTime, String dOverTime,String vcVersion,Integer lPlanNumber, String vcProjectName, String orderTypeName, String vcProductionLineName, String vcClasses, String vcUserName) {
        this.dStartTime = dStartTime;
        this.dOverTime = dOverTime;
        this.vcVersion=vcVersion;
        this.lPlanNumber = lPlanNumber;
        this.vcProjectName = vcProjectName;
        this.orderTypeName = orderTypeName;
        this.vcProductionLineName = vcProductionLineName;
        this.vcClasses = vcClasses;
        this.vcUserName = vcUserName;
    }

    //主生产计划单号
    private String vcMainPlan;

    //执行状态
    private Integer lExecuteState;
    //执行状态名称
    private String lExecuteStateName;

    //执行状态名称
    private String lastExecuteStateName;
    //说明
    private String vcRemark;

    //数据状态
    private Integer lDataState;

    //订单类型
    private Integer orderType;
    //版本号id
    private Integer versionNumber;
    //班次ID
    private Integer lClasses;

    //数据状态名称
    private String lDataStateName;

    //物料编号
    private String vcMatCode;
    //规格型号
    private String vcMatModel;
    //物料名称
    private String vcProjectName;
    //订单类型名称
    private String orderTypeName;
    //版本名称
    private String vcVersion;
    //产线名城
    private String vcProductionLineName;
    //班次名称
    private String vcClasses;
    //用户名称
    private String vcUserName;
    //车间名称
    private String workShopName;
    private Integer workShopId;
    //完成数量
    private Integer finishNumber;
    //未完成数量
    private Integer outstandingNumber;
    //投入数量
    private Integer inputNumber;

    //实际开始时间
    private String actualStartTime;
    //实际结束时间
    private String actualEndTime;

    public Integer getWorkShopId() {
        return workShopId;
    }

    public void setWorkShopId(Integer workShopId) {
        this.workShopId = workShopId;
    }



    public String getActualStartTime() {
        return actualStartTime;
    }

    public void setActualStartTime(String actualStartTime) {
        this.actualStartTime = actualStartTime;
    }

    public String getActualEndTime() {
        return actualEndTime;
    }

    public void setActualEndTime(String actualEndTime) {
        this.actualEndTime = actualEndTime;
    }

    public Integer getFinishNumber() {
        return finishNumber;
    }

    public void setFinishNumber(Integer finishNumber) {
        this.finishNumber = finishNumber;
    }

    public Integer getOutstandingNumber() {
        return outstandingNumber;
    }

    public void setOutstandingNumber(Integer outstandingNumber) {
        this.outstandingNumber = outstandingNumber;
    }

    public Integer getInputNumber() {
        return inputNumber;
    }

    public void setInputNumber(Integer inputNumber) {
        this.inputNumber = inputNumber;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getlExecuteStateName() {
        return lExecuteStateName;
    }

    public void setlExecuteStateName(String lExecuteStateName) {
        this.lExecuteStateName = lExecuteStateName;
    }

    public String getlDataStateName() {
        Integer dataState = getlDataState();
        String lDataStateName ="";
        switch (dataState){
            case 1:
                lDataStateName = "启用";
                break;
            case 2:
                lDataStateName = "删除";
                break;
            case 3:
                lDataStateName = "停用";
                break;
        }
        return lDataStateName;
    }

    public void setlDataStateName(String lDataStateName) {
        this.lDataStateName = lDataStateName;
    }
    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getOrderTypeName() {
        return orderTypeName;
    }

    public void setOrderTypeName(String orderTypeName) {
        this.orderTypeName = orderTypeName;
    }


    public String getVcClasses() {
        return vcClasses;
    }

    public void setVcClasses(String vcClasses) {
        this.vcClasses = vcClasses;
    }

    public Integer getlProductionPlanId() {
        return lProductionPlanId;
    }

    public void setlProductionPlanId(Integer lProductionPlanId) {
        this.lProductionPlanId = lProductionPlanId;
    }

    public String getdCreateTime() {
        return dCreateTime;
    }

    public void setdCreateTime(String dCreateTime) {
        this.dCreateTime = dCreateTime;
    }

    public String getlPlan() {
        return lPlan;
    }

    public void setlPlan(String lPlan) {
        this.lPlan = lPlan == null ? null : lPlan.trim();
    }

    public String getdStartTime() {
        return dStartTime;
    }

    public void setdStartTime(String dStartTime) {
        this.dStartTime = dStartTime;
    }

    public String getdOverTime() {
        return dOverTime;
    }

    public void setdOverTime(String dOverTime) {
        this.dOverTime = dOverTime;
    }

    public Integer getlProduct() {
        return lProduct;
    }

    public void setlProduct(Integer lProduct) {
        this.lProduct = lProduct;
    }

    public Integer getlProductionLineId() {
        return lProductionLineId;
    }

    public void setlProductionLineId(Integer lProductionLineId) {
        this.lProductionLineId = lProductionLineId;
    }

    public Integer getlPlanNumber() {
        return lPlanNumber;
    }

    public void setlPlanNumber(Integer lPlanNumber) {
        this.lPlanNumber = lPlanNumber;
    }

    public Integer getlUnit() {
        return lUnit;
    }

    public void setlUnit(Integer lUnit) {
        this.lUnit = lUnit;
    }

    public Integer getlUserId() {
        return lUserId;
    }

    public void setlUserId(Integer lUserId) {
        this.lUserId = lUserId;
    }

    public String getVcMainPlan() {
        return vcMainPlan;
    }

    public void setVcMainPlan(String vcMainPlan) {
        this.vcMainPlan = vcMainPlan == null ? null : vcMainPlan.trim();
    }

    public Integer getlExecuteState() {
        return lExecuteState;
    }

    public void setlExecuteState(Integer lExecuteState) {
        this.lExecuteState = lExecuteState;
    }

    public String getVcRemark() {
        return vcRemark;
    }

    public void setVcRemark(String vcRemark) {
        this.vcRemark = vcRemark == null ? null : vcRemark.trim();
    }

    public Integer getlDataState() {
        return lDataState;
    }

    public void setlDataState(Integer lDataState) {
        this.lDataState = lDataState;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public Integer getVersionNumber() {
        return versionNumber;
    }

    public void setVersionNumber(Integer versionNumber) {
        this.versionNumber = versionNumber;
    }

    public Integer getlClasses() {
        return lClasses;
    }

    public void setlClasses(Integer lClasses) {
        this.lClasses = lClasses;
    }

    public String getVcMatCode() {
        return vcMatCode;
    }

    public void setVcMatCode(String vcMatCode) {
        this.vcMatCode = vcMatCode;
    }

    public String getVcMatModel() {
        return vcMatModel;
    }

    public void setVcMatModel(String vcMatModel) {
        this.vcMatModel = vcMatModel;
    }

    public String getVcProjectName() {
        return vcProjectName;
    }

    public void setVcProjectName(String vcProjectName) {
        this.vcProjectName = vcProjectName;
    }

    public String getVcVersion() {
        return vcVersion;
    }

    public void setVcVersion(String vcVersion) {
        this.vcVersion = vcVersion;
    }

    public String getVcProductionLineName() {
        return vcProductionLineName;
    }

    public void setVcProductionLineName(String vcProductionLineName) {
        this.vcProductionLineName = vcProductionLineName;
    }

    public String getVcUserName() {
        return vcUserName;
    }

    public void setVcUserName(String vcUserName) {
        this.vcUserName = vcUserName;
    }

    public String getWorkShopName() {
        return workShopName;
    }

    public void setWorkShopName(String workShopName) {
        this.workShopName = workShopName;
    }

    public String getdCreateStartTime() {
        return dCreateStartTime;
    }

    public void setdCreateStartTime(String dCreateStartTime) {
        this.dCreateStartTime = dCreateStartTime;
    }

    public String getdCreateEndTime() {
        return dCreateEndTime;
    }

    public void setdCreateEndTime(String dCreateEndTime) {
        this.dCreateEndTime = dCreateEndTime;
    }

    public String getLastExecuteStateName() {
        return lastExecuteStateName;
    }

    public void setLastExecuteStateName(String lastExecuteStateName) {
        this.lastExecuteStateName = lastExecuteStateName;
    }

    @Override
    public String toString() {
        return "Plan{" +
                "lProductionPlanId=" + lProductionPlanId +
                ", dCreateTime='" + dCreateTime + '\'' +
                ", dCreateStartTime='" + dCreateStartTime + '\'' +
                ", dCreateEndTime='" + dCreateEndTime + '\'' +
                ", lPlan='" + lPlan + '\'' +
                ", dStartTime='" + dStartTime + '\'' +
                ", dOverTime='" + dOverTime + '\'' +
                ", lProduct=" + lProduct +
                ", lProductionLineId=" + lProductionLineId +
                ", lPlanNumber=" + lPlanNumber +
                ", lUnit=" + lUnit +
                ", lUserId=" + lUserId +
                ", userName='" + userName + '\'' +
                ", vcMainPlan='" + vcMainPlan + '\'' +
                ", lExecuteState=" + lExecuteState +
                ", lExecuteStateName='" + lExecuteStateName + '\'' +
                ", lastExecuteStateName='" + lastExecuteStateName + '\'' +
                ", vcRemark='" + vcRemark + '\'' +
                ", lDataState=" + lDataState +
                ", orderType=" + orderType +
                ", versionNumber=" + versionNumber +
                ", lClasses=" + lClasses +
                ", lDataStateName='" + lDataStateName + '\'' +
                ", vcMatCode='" + vcMatCode + '\'' +
                ", vcMatModel='" + vcMatModel + '\'' +
                ", vcProjectName='" + vcProjectName + '\'' +
                ", orderTypeName='" + orderTypeName + '\'' +
                ", vcVersion='" + vcVersion + '\'' +
                ", vcProductionLineName='" + vcProductionLineName + '\'' +
                ", vcClasses='" + vcClasses + '\'' +
                ", vcUserName='" + vcUserName + '\'' +
                ", workShopName='" + workShopName + '\'' +
                ", workShopId=" + workShopId +
                ", finishNumber=" + finishNumber +
                ", outstandingNumber=" + outstandingNumber +
                ", inputNumber=" + inputNumber +
                ", actualStartTime='" + actualStartTime + '\'' +
                ", actualEndTime='" + actualEndTime + '\'' +
                '}';
    }

    public Plan() {
    }

}